<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>angular test</title>
    <style type="text/css">
        #editor-trigger {
            width: 100%;
            height: 200px;
        }
    </style>

    <link rel="stylesheet" type="text/css" href="../../dist/css/wangEditor.min.css">

    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
    
    <div ng-app="editorContainer" ng-controller="editorCtrl">
        <p>wangEditor 集成到 angular 的示例</p>
        <div ng-model="text" contenteditable="true"></div>
    </div>

    <script type="text/javascript" src="../../dist/js/lib/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="../../dist/js/wangEditor.js"></script>
    <script type="text/javascript">
        var app = angular.module('editorContainer', []);
        app.controller('editorCtrl', function ($scope) {
            $scope.editorContent = '';
        });
        app.directive('contenteditable', function() {
            return {
                restrict: 'A' ,
                require: '?ngModel',
                link: function(scope, element, attrs, ngModel) {
                    // 初始化 编辑器内容
                    if (!ngModel) {
                        return;
                    } // do nothing if no ng-model
                    // Specify how UI should be updated
                    ngModel.$render = function() {
                        element.html(ngModel.$viewValue || '');
                    };
                    // Listen for change events to enable binding
                    element.on('blur keyup change', function() {
                        scope.$apply(readViewText);
                    });
                    // No need to initialize, AngularJS will initialize the text based on ng-model attribute
                    // Write data to the model
                    function readViewText() {
                        var html = element.html();
                        // When we clear the content editable the browser leaves a <br> behind
                        // If strip-br attribute is provided then we strip this out
                        if (attrs.stripBr && html === '<br>') {
                            html = '';
                        }
                        ngModel.$setViewValue(html);
                    }
        
                    // 创建编辑器
                    var editor = new wangEditor(element);
                    editor.create();
                }
            };
        });
    </script>
</body>
</html>
